package com.subang.function.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.subang.common.annotation.Excel;
import com.subang.common.core.domain.BaseEntity;

/**
 * 学习小组对象 sb_study_group
 * 
 * @author subei
 * @date 2025-03-29
 */
public class SbStudyGroup extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 小组主键，自增 */
    private String id;

    /** 小组名称 */
    @Excel(name = "小组名称")
    private String groupName;

    @Excel(name = "今日打卡人数")
    private Long todayMarkCount;

    @Excel(name = "成员人数")
    private Long memberCount;

    @Excel(name = "小组公告")
    private String groupNotice;

    /** 创建者用户 ID */
    @Excel(name = "创建者用户 ID")
    private Long creatorId;

    /** 小组加入码，用于生成链接 */
    @Excel(name = "小组加入码，用于生成链接")
    private String joinCode;

    /** 小组拥有者用户 ID，初始为创建者 ID */
    @Excel(name = "小组拥有者用户 ID，初始为创建者 ID")
    private Long ownerId;


    public void setGroupName(String groupName) 
    {
        this.groupName = groupName;
    }

    public String getGroupName() 
    {
        return groupName;
    }

    public void setCreatorId(Long creatorId) 
    {
        this.creatorId = creatorId;
    }

    public Long getCreatorId() 
    {
        return creatorId;
    }

    public void setJoinCode(String joinCode) 
    {
        this.joinCode = joinCode;
    }

    public String getJoinCode() 
    {
        return joinCode;
    }

    public void setOwnerId(Long ownerId) 
    {
        this.ownerId = ownerId;
    }

    public Long getOwnerId() 
    {
        return ownerId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("groupName", getGroupName())
            .append("memberCount", getMemberCount())
            .append("todayMarkCount", getTodayMarkCount())
            .append("groupNotice", getGroupNotice())
            .append("creatorId", getCreatorId())
            .append("createTime", getCreateTime())
            .append("joinCode", getJoinCode())
            .append("ownerId", getOwnerId())
            .toString();
    }

    public Long getMemberCount() {
        return memberCount;
    }

    public void setMemberCount(Long memberCount) {
        this.memberCount = memberCount;
    }

    public String getGroupNotice() {
        return groupNotice;
    }

    public void setGroupNotice(String groupNotice) {
        this.groupNotice = groupNotice;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public Long getTodayMarkCount() {
        return todayMarkCount;
    }

    public void setTodayMarkCount(Long todayMarkCount) {
        this.todayMarkCount = todayMarkCount;
    }
}
